// https://raw.githubusercontent.com/jhammann/sakura/master/src/sakura.js
const Sakura=function(t,e){if(void 0===t)throw new Error("No selector present. Define an element.");this.el=document.querySelector(t);var i,n;function a(t){return t[Math.floor(Math.random()*t.length)]}function s(t,e){return Math.floor(Math.random()*(e-t+1))+t}this.settings=(i={className:"sakura",fallSpeed:1,maxSize:14,minSize:10,delay:300,colors:[{gradientColorStart:"rgba(255, 183, 197, 0.9)",gradientColorEnd:"rgba(255, 197, 208, 0.9)",gradientColorDegree:120}]},n=e,Object.keys(i).forEach(t=>{n&&Object.prototype.hasOwnProperty.call(n,t)&&(i[t]=n[t])}),i),this.el.style.overflowX="hidden";const o=["webkit","moz","MS","o",""];function r(t,e,i){for(let n=0;n<o.length;n+=1){let a=e;o[n]||(a=e.toLowerCase()),t.addEventListener(o[n]+a,i,!1)}}function l(t){const e=t.getBoundingClientRect();return e.top>=0&&e.left>=0&&e.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&e.right<=(window.innerWidth||document.documentElement.clientWidth)}this.createPetal=(()=>{this.el.dataset.sakuraAnimId&&setTimeout(()=>{window.requestAnimationFrame(this.createPetal)},this.settings.delay);const t=["sway-0","sway-1","sway-2","sway-3","sway-4","sway-5","sway-6","sway-7","sway-8"],e=a(["blow-soft-left","blow-medium-left","blow-soft-right","blow-medium-right"]),i=a(t),n=(.007*document.documentElement.clientHeight+Math.round(5*Math.random()))*this.settings.fallSpeed,o=[`fall ${n}s linear 0s 1`,`${e} ${(n>30?n:30)-20+s(0,20)}s linear 0s infinite`,`${i} ${s(2,4)}s linear 0s infinite`].join(", "),d=document.createElement("div");d.classList.add(this.settings.className);const m=s(this.settings.minSize,this.settings.maxSize),h=m-Math.floor(s(0,this.settings.minSize)/3),c=a(this.settings.colors);d.style.background=`linear-gradient(${c.gradientColorDegree}deg, ${c.gradientColorStart}, ${c.gradientColorEnd})`,d.style.webkitAnimation=o,d.style.animation=o,d.style.borderRadius=`${s(this.settings.maxSize,this.settings.maxSize+Math.floor(10*Math.random()))}px ${s(1,Math.floor(h/4))}px`,d.style.height=`${m}px`,d.style.left=`${Math.random()*document.documentElement.clientWidth-100}px`,d.style.marginTop=`${-(Math.floor(20*Math.random())+15)}px`,d.style.width=`${h}px`,r(d,"AnimationEnd",()=>{l(d)||d.remove()}),r(d,"AnimationIteration",()=>{l(d)||d.remove()}),this.el.appendChild(d)}),this.el.setAttribute("data-sakura-anim-id",window.requestAnimationFrame(this.createPetal))};Sakura.prototype.start=function(){if(this.el.dataset.sakuraAnimId)throw new Error("Sakura is already running.");this.el.setAttribute("data-sakura-anim-id",window.requestAnimationFrame(this.createPetal))},Sakura.prototype.stop=function(t=!1){const e=this.el.dataset.sakuraAnimId;e&&(window.cancelAnimationFrame(e),this.el.setAttribute("data-sakura-anim-id","")),t||setTimeout(()=>{const t=document.getElementsByClassName(this.settings.className);for(;t.length>0;)t[0].parentNode.removeChild(t[0])},this.settings.delay+50)};